iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0
自我挑戰組

Go語言自學挑戰系列 第 10

第十天:函數Function 1/2

  • 分享至 

  • xImage
  •  

Function介紹

如果有一個很大串的程式頻繁複使用,

可以使用Function將他包起來,

以後需要使用到這串程式時就可以呼叫它,

既可以保持程式簡潔、好維護管理,

Function的宣告方式如下:

func 函數名稱() {
  // 程式碼
}

開始使用函數!

使用函數的方式相當簡單,程式範例如下:

package main
import ("fmt")

//自訂的函數
func myfunc() {
  fmt.Println("我好帥喔~~~!")
}

func main() {
  myfunc() //呼叫myfunc函數
}

執行結果:

我好帥喔~~~!

如果重複呼叫也是可行的,程式範例如下:

package main
import ("fmt")

func myfunc() {
  fmt.Println("我好帥喔~~~!")
}

func main() {
  myfunc()
  myfunc()
}

執行結果:

我好帥喔~~~!
我好帥喔~~~!

傳入參數到函式

函數也可以接受參數傳入,宣告方式如下:

func 函數名稱(參數1 型態,參數2 型態,參數3 型態...) {
  // 程式碼
}

範例如下:

package main
import ("fmt")

func myfunc(name string, num int) {
  fmt.Println(name,"好帥喔~~~!率度為", num)
}

func main() {
  myfunc("JIMMY",10000) //傳入兩個參數
}

執行結果:

JIMMY 好帥喔~~~!率度為 10000

函式回傳結果方法

如果函數有回傳值,宣告方式如下:

func 函數名稱(參數1 型態,參數2 型態,參數3 型態...)(型態,型態...) {
  // 程式碼
  
  return 回傳值1,回傳值2...
}

範例如下:

package main
import ("fmt")

//傳入兩個參數、回傳兩個值
func myfunc(name string, num int) (string , int){
  txt1 := name+"好帥喔~~~!"
  num1 := num*10 
  return txt1, num1
}

func main() {
  a, b :=myfunc("JIMMY",10000) //傳入兩個參數、回傳兩個值
  fmt.Println(a,"率度為", b)
}

執行結果:

JIMMY好帥喔~~~! 率度為 100000

參考資料

  1. https://www.w3schools.com/go/go_functions.php

上一篇
第九天:流程控制(3) for 陳述式
下一篇
第十一天:函式Function 2/2
系列文
Go語言自學挑戰29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言